/**
 * @file zediskapp.h
 * @author zeppyrz (zeppyrz@gmail.com)
 * @brief ZeDisk GUI Class
 * @version 0.1
 * @date 2025-11-03
 *
 * @copyright Copyright (c) 2025
 *
 */

#ifndef ZEDISK_ZEDISKAPP_H
#define ZEDISK_ZEDISKAPP_H

#include <QWidget>

namespace ZeDiskGUI {
QT_BEGIN_NAMESPACE
namespace Ui {
class ZeDiskApp;
}
QT_END_NAMESPACE

class ZeDiskApp : public QWidget {
  Q_OBJECT

 public:
  explicit ZeDiskApp(QWidget *parent = nullptr);
  ~ZeDiskApp() override;

  void UpdateServerInfo();

 public slots:
  void Refresh();
  void UpdateDir(std::string dirs);
  void Upload();
  void Download();
  void DownloadComplete();

 private:
  Ui::ZeDiskApp *ui;
};
}  // namespace ZeDiskGUI

#endif  // ZEDISK_ZEDISKAPP_H
